package com.uuah.server.config.spring.parsers.delegate;

import com.uuah.server.config.spring.parsers.generic.NamedDefinitionParser;
import com.uuah.server.config.spring.parsers.generic.OrphanDefinitionParser;

/**
 * This encapsulates two definition parsers - orphan and named - and returns the
 * named definition parser if the "inherit" attribute is set. This allows a
 * named orphan to be defined (inherit="false") and then extended
 * (inherit="true"). The two sub-parsers must be consistent, as described in
 * {@link com.uuah.server.config.spring.parsers.delegate.AbstractParallelDelegatingDefinitionParser}
 */
public class InheritDefinitionParser extends
		BooleanAttributeSelectionDefinitionParser {

	public static final String INHERIT = "inherit";

	public InheritDefinitionParser(OrphanDefinitionParser orphan,
			NamedDefinitionParser named) {
		this(false, orphan, named);
	}

	public InheritDefinitionParser(boolean deflt,
			OrphanDefinitionParser orphan, NamedDefinitionParser named) {
		super(INHERIT, deflt, named, orphan);
	}

}
